package com.atguigu.gulimall.coupon;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 1.如何使用Nacos作为配置中心统一管理配置
 * 1)引入依赖
 * 2)创建一个bootstrap文件
 * 3)需要给配置中心默认添加一个数据集(Data id) gulimall-coupon.properties 规则
 * 4)给gulimall-coupon.properties 添加配置
 * 5)动态获取配置
 *  @RefreshScope：刷新配置
 *  @value(" ${配置项的名}")：获取配置的值
 *
 * 命名空间：用作配置隔离。（一般每个微服务一个命名空间，默认为public）
 * 利用命名空间来做环境隔离(环境隔离，或微服务自已命名空间隔离)
 * 1.开发，测试，生产
 * 也可以为每个微服务配置一个命名空间，微服务互相隔离
 * 配置集：一组相关或不相关配置项的集合。
 * 配置集ID：类似于配置文件名，即Data ID
 * 配置分组：默认所有的配置集都属于DEFAULT_GROUP。自己可以创建分组，比如双十一，618，双十二
 *  最终方案：每个微服务创建自己的命名空间，然后使用配置分组区分环境（dev/test/prod）
 */
@MapperScan("com.atguigu.gulimall.coupon.dao")
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
